/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.abdul.niit_attendence;

/**
 *
 * @author Abdul Mohsin
 */
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.regex.Pattern;
import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;

import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

/**
 *
 * @author Abdul Mohsin
 */
public class NiitAttendence {

    public static void main(String[] args) throws IOException {

        String hostname =null;
                String port=null;
                String userName=null;
                String password= null;
        if(args.length != 4){
         System.out.println(" Usage niitattendence.NiitAttendence <proxyHost> <proxyPort> <userName> <pass>");   
         return;
        }
        else{
            hostname=args[0];
            port=args[1];
            userName=args[2];
            password=args[3];
        }
        Properties systemSettings = System.getProperties();
        if(hostname !=null && port !=null && !hostname.equals("") && !port.equals("")){
        systemSettings.put("http.proxyHost", hostname);
        systemSettings.put("http.proxyPort", port);
        }
        /*
         * Default Http client
         */
//        PoolingClientConnectionManager cxMgr = new PoolingClientConnectionManager(SchemeRegistryFactory.createDefault());
//        cxMgr.setMaxTotal(100);
//        cxMgr.setDefaultMaxPerRoute(20);
        
       // HttpParams params = new DefaultedHttpParams(local, defaults);
        DefaultHttpClient httpclient = new DefaultHttpClient();//cxMgr, new BasicHttpParams());





        HttpPost httpost = new HttpPost("https://iniitian.niit-tech.com/ntless/bs_logincheck.asp");

        List<NameValuePair> nvps = new ArrayList<NameValuePair>();
        nvps.add(new BasicNameValuePair("empcode", userName));
        nvps.add(new BasicNameValuePair("emppassNTL", password));
        nvps.add(new BasicNameValuePair("change", "Change Value"));



        httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
        httpost.setHeader("Host", "iniitian.niit-tech.com");
        httpost.setHeader("User-Agent", "User-Agent	Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
        httpost.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        httpost.setHeader("Accept-Encoding", "gzip, deflate");
        httpost.setHeader("Connection", "keep-alive");
        httpost.setHeader("Referer", "https://iniitian.niit-tech.com/");
        httpost.setHeader("Content-Type", "application/x-www-form-urlencoded");
        httpost.setHeader("Accept-Language", "en-US,en;q=0.5");

        
        HttpResponse responsePost = httpclient.execute(httpost);
        //HttpEntity entityPost = responsePost.getEntity();

        System.out.println(" **************** First Post");



        /**
         *
         * After login
         */
        HttpGet httpget = new HttpGet("https://iniitian.niit-tech.com/ntless/Net/Converter.asp?txtAppCode=iNIITianNew");

        httpget.setHeader("Host", "iniitian.niit-tech.com");
        httpget.setHeader("User-Agent", "User-Agent	Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
        httpget.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        httpget.setHeader("Accept-Encoding", "gzip, deflate");
        httpget.setHeader("Connection", "keep-alive");
        httpget.setHeader("Referer", "https://iniitian.niit-tech.com/");
        httpget.setHeader("Content-Type", "application/x-www-form-urlencoded");
        //httpget.setHeader("Content-Length", "123");
        httpget.setHeader("Accept-Language", "en-US,en;q=0.5");



        HttpResponse responseGet = httpclient.execute(httpget);
        HttpEntity entity = responseGet.getEntity();

        System.out.println("Login form get: " + responseGet.getStatusLine());
        


        String entityData = EntityUtils.toString(entity) + "</html>";
        //StringEntity strEntity = new StringEntity(entityData, ContentType.TEXT_HTML);

        HttpPost formPost = new HttpPost("https://iniitian.niit-tech.com/ntlessnet/asptoaspx.aspx");

//        System.out.print("*********** strEntity:" + EntityUtils.toString(strEntity));

        formPost.setHeader("Host", "iniitian.niit-tech.com");
        formPost.setHeader("User-Agent", "User-Agent	Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
        formPost.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        formPost.setHeader("Accept-Encoding", "gzip, deflate");
        formPost.setHeader("Connection", "keep-alive");
        formPost.setHeader("Referer", "https://iniitian.niit-tech.com/ntless/Net/Converter.asp?txtAppCode=iNIITianNew");
        formPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
        //httpget.setHeader("Content-Length", "123");
        formPost.setHeader("Accept-Language", "en-US,en;q=0.5");


        String toParse = entityData.substring(entityData.indexOf("txtSessionToken"), entityData.indexOf("txtAppCode"));
        String sessionId = toParse.substring(toParse.indexOf("{"), toParse.indexOf("}") + 1);
        System.out.println("************************** SessionId:" + sessionId);
        List<NameValuePair> nvpsForm = new ArrayList<NameValuePair>();
        nvpsForm.add(new BasicNameValuePair("txtSessionToken", sessionId));
        nvpsForm.add(new BasicNameValuePair("txtAppCode", "iNIITianNew"));
        nvpsForm.add(new BasicNameValuePair("hidAppUrl", ""));
        nvpsForm.add(new BasicNameValuePair("txtSMCode", ""));
        nvpsForm.add(new BasicNameValuePair("txtRole", ""));
        nvpsForm.add(new BasicNameValuePair("hidAppUrl", "Change Value"));

        formPost.setEntity(new UrlEncodedFormEntity(nvpsForm, HTTP.UTF_8));

        HttpResponse responseGetFormPost = httpclient.execute(formPost);




        HttpGet httpgetHome = new HttpGet("https://iniitian.niit-tech.com/ntlessnet/Home/Welcome.aspx");

        httpgetHome.setHeader("Host", "iniitian.niit-tech.com");
        httpgetHome.setHeader("User-Agent", "User-Agent	Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
        httpgetHome.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        httpgetHome.setHeader("Accept-Encoding", "gzip, deflate");
        httpgetHome.setHeader("Connection", "keep-alive");
        httpgetHome.setHeader("Referer", "https://iniitian.niit-tech.com/ntless/Net/Converter.asp?txtAppCode=iNIITianNew");
        httpgetHome.setHeader("Content-Type", "application/x-www-form-urlencoded");
        //httpget.setHeader("Content-Length", "123");
        httpgetHome.setHeader("Accept-Language", "en-US,en;q=0.5");



        HttpResponse responseGetHome = httpclient.execute(httpgetHome);


    //    System.out.println("*******************         HOME *********************************** " + EntityUtils.toString(responseGetHome.getEntity()));



        /*
         * 
         *  Final Attendance mark
         */

        HttpPost formPostAttendence = new HttpPost("https://iniitian.niit-tech.com/ntlessnet/Home/Welcome.aspx");

        // System.out.print("*********** strEntity:"+EntityUtils.toString(strEntity));
        //formPost.setEntity(strEntity);

        formPostAttendence.setHeader("Host", "iniitian.niit-tech.com");
        formPostAttendence.setHeader("User-Agent", "User-Agent	Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
        formPostAttendence.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
        formPostAttendence.setHeader("Accept-Encoding", "gzip, deflate");
        formPostAttendence.setHeader("Connection", "keep-alive");
        formPostAttendence.setHeader("Referer", "https://iniitian.niit-tech.com/ntlessnet/Home/Welcome.aspx");
        formPostAttendence.setHeader("Content-Type", "application/x-www-form-urlencoded");
        //httpget.setHeader("Content-Length", "123");
        formPostAttendence.setHeader("Accept-Language", "en-US,en;q=0.5");


        //String toParse=entityData.substring(entityData.indexOf("txtSessionToken"),entityData.indexOf("txtAppCode"));
        //String sessionId=toParse.substring(toParse.indexOf("{"),toParse.indexOf("}")+1);
        //System.out.println("************************** SessionId:"+sessionId);
        List<NameValuePair> nvpsFormAtten = new ArrayList<NameValuePair>();
        nvpsFormAtten.add(new BasicNameValuePair("scrtMain_HiddenField", ";;AjaxControlToolkit, Version=1.0.20229.20821, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e:en-US:c5c982cc-4942-4683-9b48-c2c58277700f:e2e86ef9:1df13a87:ee0a475d:c4c00916"));
        nvpsFormAtten.add(new BasicNameValuePair("__EVENTTARGET", "lnkBtnAttendance"));
        nvpsFormAtten.add(new BasicNameValuePair("__EVENTARGUMENT", ""));
        nvpsFormAtten.add(new BasicNameValuePair("tabCustomized_ClientState", "{\"ActiveTabIndex\":0,\"TabState\":[true,true,true,true,true,true,true,true,true,true,true,true]}"));
        nvpsFormAtten.add(new BasicNameValuePair("__VIEWSTATE", "/wEPDwUKMTc0NjY3MzQ3OQ8WAh4ETW9yZQIBFgICAw8WAh4Gb25sb2FkBRtqYXZhc2NyaXB0OmZ1bmNfZGlhbEJveCgxKTsWAgIBD2QWLAIDD2QWAgIBD2QWAgIBD2QWAmYPZBYCAgMPPCsACQEADxYEHghEYXRhS2V5cxYAHgtfIUl0ZW1Db3VudAIBZBYCAgEPZBYIZg8VAQpBdHRlbmRhbmNlZAIBDw8WBB4EVGV4dAUnQ2xpY2sgSGVyZSBUbyBNYXJrIEF0dGVuZGFuY2UgZm9yIFRvZGF5Hg9Db21tYW5kQXJndW1lbnQFA0FBUxYCHgdvbkNsaWNrBRJqYXZhc2NyaXB0OkhpZGUoKTtkAgMPDxYEHgtOYXZpZ2F0ZVVybGUfBAUnQ2xpY2sgSGVyZSBUbyBNYXJrIEF0dGVuZGFuY2UgZm9yIFRvZGF5ZGQCBQ8PFgQfB2UfBGVkZAIFDw9kFgIeBVN0eWxlBQxkaXNwbGF5Om5vbmVkAgcPDxYEHwcFFVRha2VNZVRvLmFzcHg/QXBwPTI4MB4GVGFyZ2V0BQluZXdXaW5kb3cWBB4Fc3R5bGUFDGRpc3BsYXk6bm9uZR4Hb25jbGljawV5bmV3V2luZG93PXdpbmRvdy5vcGVuKCcnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlO2QCCw8PFgQfBwUVVGFrZU1lVG8uYXNweD9BcHA9MjQ1HwkFCW5ld1dpbmRvdxYCHwsFeW5ld1dpbmRvdz13aW5kb3cub3BlbignJywnbmV3V2luZG93JywncmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubywnKTtuZXdXaW5kb3cuZm9jdXMoKTtyZXR1cm4gdHJ1ZTtkAg0PDxYEHwcFFVRha2VNZVRvLmFzcHg/QXBwPTI0Nh8JBQluZXdXaW5kb3cWAh8LBXluZXdXaW5kb3c9d2luZG93Lm9wZW4oJycsJ25ld1dpbmRvdycsJ3Jlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsc3RhdHVzPW5vLHRvb2xiYXI9bm8sJyk7bmV3V2luZG93LmZvY3VzKCk7cmV0dXJuIHRydWU7ZAIPDw8WBB8HBRVUYWtlTWVUby5hc3B4P0FwcD0yNDcfCQUJbmV3V2luZG93FgIfCwV5bmV3V2luZG93PXdpbmRvdy5vcGVuKCcnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlO2QCFw9kFgICBQ9kFhhmD2QWCgIBD2QWAmYPZBYEAgEPDxYEHghJbWFnZVVybAUgfi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmceB1Rvb2xUaXAFI0NsaWNrIHRvIHJlbW92ZSBmcm9tIEZhdm9yaXRlcyBsaXN0FgQeC29ubW91c2VvdmVyBTN0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFySG92ZXIucG5nJzseCm9ubW91c2VvdXQFLnRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXIucG5nJztkAgMPDxYEHwQFJEFwcGxpY2F0aW9ucyAoTGVhdmUvVHJhdmVsL1ZvdWNoZXJzKR8NZWRkAgIPZBYCZg9kFgQCAQ8PFgQfDAUgfi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcfDQUjQ2xpY2sgdG8gcmVtb3ZlIGZyb20gRmF2b3JpdGVzIGxpc3QWBB8OBTN0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFySG92ZXIucG5nJzsfDwUudGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcnO2QCAw8PFgQfBAURQXR0ZW5kYW5jZSBTeXN0ZW0fDWVkZAIDD2QWAmYPZBYEAgEPDxYEHwwFIH4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXIucG5nHw0FI0NsaWNrIHRvIHJlbW92ZSBmcm9tIEZhdm9yaXRlcyBsaXN0FgQfDgUzdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3RhckhvdmVyLnBuZyc7Hw8FLnRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXIucG5nJztkAgMPDxYEHwQFDklQTVMgVGltZXNoZWV0Hw1lZGQCBA9kFgJmD2QWBAIBDw8WBB8MBSB+L0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZx8NBSNDbGljayB0byByZW1vdmUgZnJvbSBGYXZvcml0ZXMgbGlzdBYEHw4FM3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXJIb3Zlci5wbmcnOx8PBS50aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZyc7ZAIDDw8WBB8EBQdNeSBJbmZvHw1lZGQCBg9kFgJmD2QWBAIBDw8WBB8MBSB+L0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZx8NBSNDbGljayB0byByZW1vdmUgZnJvbSBGYXZvcml0ZXMgbGlzdBYEHw4FM3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXJIb3Zlci5wbmcnOx8PBS50aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZyc7ZAIDDw8WBB8EBQtTYWxhcnkgU2xpcB8NZWRkAgEPZBYkAgEPZBYCZg9kFgQCAQ8PFgQfDAUgfi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcfDQUjQ2xpY2sgdG8gcmVtb3ZlIGZyb20gRmF2b3JpdGVzIGxpc3QWBB8OBTN0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFySG92ZXIucG5nJzsfDwUudGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcnO2QCAw8PFgQfBAUHTXkgSW5mbx8NZWRkAgIPZBYCZg9kFgQCAQ8PFgQfDAUgfi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcfDQUjQ2xpY2sgdG8gcmVtb3ZlIGZyb20gRmF2b3JpdGVzIGxpc3QWBB8OBTN0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFySG92ZXIucG5nJzsfDwUudGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcnO2QCAw8PFgQfBAULU2FsYXJ5IFNsaXAfDWVkZAIDD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFC0luZGlhIExlYXZlHw1lZGQCBA9kFgJmD2QWBAIBDw8WBB8MBSB+L0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZx8NBSNDbGljayB0byByZW1vdmUgZnJvbSBGYXZvcml0ZXMgbGlzdBYEHw4FM3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXJIb3Zlci5wbmcnOx8PBS50aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZyc7ZAIDDw8WBB8EBSRBcHBsaWNhdGlvbnMgKExlYXZlL1RyYXZlbC9Wb3VjaGVycykfDWVkZAIGD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFEUZsb2F0aW5nIEhvbGlkYXlzHw1lZGQCBw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBR9NeSBWQyBUYXJnZXRzIChBcHIgMTIgLSBNYXIgMTMpHw1lZGQCCA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBSVJZ2l2ZSA6OiBBbiBpbml0aWF0aXZlIGxlZCBieSBOSUlUaWFuHw1lZGQCCQ9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQ5NeSBEZXZlbG9wbWVudB8NZWRkAgsPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUNVmlzaXRpbmcgQ2FyZB8NZWRkAgwPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUrSW5kaWEgVmFyaWFibGUgQ29tcGVuc2F0aW9uIChBcHIgMTItTWFyIDEzKR8NZWRkAg0PZBYCZg9kFgQCAQ8PFgQfDAUgfi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcfDQUjQ2xpY2sgdG8gcmVtb3ZlIGZyb20gRmF2b3JpdGVzIGxpc3QWBB8OBTN0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFySG92ZXIucG5nJzsfDwUudGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvQnJpZ2h0U3Rhci5wbmcnO2QCAw8PFgQfBAUOSVBNUyBUaW1lc2hlZXQfDWVkZAIOD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFO1RpbWVzaGVldCBQYXlyb2xsIFJlY29uY2lsaWF0aW9uIDxCUj4gYW5kIEFkanVzdG1lbnQgKFRQUkEpHw1lZGQCEA9kFgJmD2QWBAIBDw8WBB8MBSB+L0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZx8NBSNDbGljayB0byByZW1vdmUgZnJvbSBGYXZvcml0ZXMgbGlzdBYEHw4FM3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0JyaWdodFN0YXJIb3Zlci5wbmcnOx8PBS50aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9CcmlnaHRTdGFyLnBuZyc7ZAIDDw8WBB8EBRFBdHRlbmRhbmNlIFN5c3RlbR8NZWRkAhEPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUZT25saW5lIE1lZGljbGFpbSBXb3JrZmxvdx8NZWRkAhIPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUjUGVyc29uYWxpemVkIENvbXBlbnNhdGlvbiBTdHJ1Y3R1cmUfDWVkZAITD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFDVRheCBIZWxwIExpbmUfDWVkZAIVD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFBWVFeGl0Hw1lZGQCFg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQRDYXJlHw1lZGQCAg9kFigCAQ9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQdBY2hpZXZlHw1lZGQCAg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQhQcm9ncmVzcx8NZWRkAgMPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUHRkFRIElEUB8NZWRkAgQPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUEUFBEUB8NZWRkAgYPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUFVFJBQ0sfDWVkZAIHD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFIEpvYiBEZXNjcmlwdGlvbnMgYW5kIEdvYWwgU2hlZXRzHw1lZGQCCA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQxNeSBUcmFpbmluZ3MfDWVkZAIJD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFF015IFRyYWluaW5nIE5vbWluYXRpb25zHw1lZGQCCw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQ1TRUVEIENhbGVuZGFyHw1lZGQCDA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBR1UcmFpbmluZyBOb21pbmF0aW9ucyBBcHByb3ZhbB8NZWRkAg0PZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUFZVNFRUQfDWVkZAIOD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFH0V4dGVybmFsIFRyYWluaW5nIGFuZCBXb3Jrc2hvcHMfDWVkZAIQD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFBGVOSVAfDWVkZAIRD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFHWVUVEwtIGVJbmR1Y3Rpb24gVFRMIFZlcnRpY2FsHw1lZGQCEg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBSBlQkZTSSAtIGVJbmR1Y3Rpb24gQkZTSSBWZXJ0aWNhbB8NZWRkAhMPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUMU0VFRCBGb3JtYXRzHw1lZGQCFQ9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBSRQb3N0IFRyYWluaW5nIEVmZmVjdGl2ZW5lc3MgRmVlZGJhY2sfDWVkZAIWD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFA0hZUh8NZWRkAhcPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUZSGlnaGVyIEVkdWNhdGlvbiBTY2hlbWUtSR8NZWRkAhgPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUUSW50ZXJuYWwgSm9iIFBvc3RpbmcfDWVkZAIDD2QWGgIBD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFDU5JSVQncyBWaXNpb24fDWVkZAICD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFFFNjaGVtZXMgYW5kIFBvbGljaWVzHw1lZGQCAw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRFDb21wZXRlbmN5IFN5c3RlbR8NZWRkAgQPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUXU2tpbGxzICYgQ2VydGlmaWNhdGlvbnMfDWVkZAIGD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFFk5UTCBSZWNydWl0bWVudCBQb3J0YWwfDWVkZAIHD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFEVVLIEpvaW5pbmcgUmVwb3J0Hw1lZGQCCA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQxIb2xpZGF5IExpc3QfDWVkZAIJD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFCUpvYiBPcmRlch8NZWRkAgsPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUUQ29tbXVuaWNhdGlvbiBDb3JuZXIfDWVkZAIMD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFBkFTU0lTVB8NZWRkAg0PZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUEQ2FyZR8NZWRkAg4PZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUUQ0FUUyBEZWZhdWx0aW5nIERheXMfDWVkZAIQD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFHEluZGlhIENvbXBlbnNhdGlvbiBTdHJ1Y3R1cmUfDWVkZAIED2QWEgIBD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFBWlTZWVrHw1lZGQCAg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBSJTb2Z0d2FyZSBMaWNlbmNlIE1hbmFnZW1lbnQgU3lzdGVtHw1lZGQCAw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQZTSVJJVVMfDWVkZAIED2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFB1FNUy1TU0IfDWVkZAIGD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFDlFNUy1FU1JJIEluZGlhHw1lZGQCBw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRVRTVMgLSBBUEFDLCBTaW5nYXBvcmUfDWVkZAIID2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFBUstSHViHw1lZGQCCQ9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQ9Db2RlIG9mIENvbmR1Y3QfDWVkZAILD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFHkRlbGVnYXRpb24gb2YgQXV0aG9yaXR5IE1hdHJpeB8NZWRkAgUPZBYKAgEPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUfQ29tcGxpYW5jZSBDZXJ0aWZpY2F0aW9uIFN5c3RlbR8NZWRkAgIPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUDQ0xBHw1lZGQCAw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBSJQZXJjZW50YWdlIENvbXBsZXRpb24gTWV0aG9kIChQQ00pHw1lZGQCBA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQ5CaWxsaW5nIEFkdmljZR8NZWRkAgYPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUNVGF4IEhlbHAgTGluZR8NZWRkAgYPZBYQAgEPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUbQ2FwaXRhbCBEZXBsb3ltZW50IFNhbmN0aW9uHw1lZGQCAg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRdBc3NldCBNYW5hZ2VtZW50IFN5c3RlbR8NZWRkAgMPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUXT2ZmaWNlIFRyYW5zcG9ydCBTeXN0ZW0fDWVkZAIED2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFEFRheGkgQm9va2luZyBTRVofDWVkZAIGD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFDk9ubGluZSBBdWN0aW9uHw1lZGQCBw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRhWZW5kb3IgTWFuYWdlbWVudCBTeXN0ZW0fDWVkZAIID2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFD1B1cmNoYXNlIFBvbGljeR8NZWRkAgkPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUMU0xBcyBmb3IgQ1NPHw1lZGQCBw9kFgYCAQ9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQRMb2dvHw1lZGQCAg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRNXaGl0ZSBQYXBlciBDb250ZXN0Hw1lZGQCAw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRpPdXIgQ29ycG9yYXRlIFByZXNlbnRhdGlvbh8NZWRkAggPZBYEAgEPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUMSVJPIEhlbHBkZXNrHw1lZGQCAg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRJTQVAgVXNlciBJRCBTdGF0dXMfDWVkZAIJD2QWDgIBD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFEklTTVMgU2VjdXJpdHkgVGVzdB8NZWRkAgIPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUPUmVwb3J0IEluY2lkZW50Hw1lZGQCAw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQpFSFMgUG9saWN5Hw1lZGQCBA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRNNb2JpbGUgVXNhZ2UgUG9saWN5Hw1lZGQCBg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRVBY2NlcHRhYmxlIFVzZSBQb2xpY3kfDWVkZAIHD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFGFJlY29yZCBNYW5hZ2VtZW50IFBvbGljeR8NZWRkAggPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAUWRGF0YSBQcml2YWN5IFByb2NlZHVyZR8NZWRkAgoPZBYGAgEPZBYCZg9kFgQCAQ8PFgQfDAUdfi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcfDQUgQ2xpY2sgdG8gYWRkIGludG8gRmF2b3JpdGVzIGxpc3QWBB8OBTB0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFySG92ZXIucG5nJzsfDwUrdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3Rhci5wbmcnO2QCAw8PFgQfBAURU29jaWFsIE5ldHdvcmtpbmcfDWVkZAICD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFF0Jsb2cgc3BhY2UgZm9yIE5JSVRpYW5zHw1lZGQCAw9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBRtXaWtpIHRvIENvbGxhYm9yYXRlICYgU2hhcmUfDWVkZAILD2QWDgIBD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFDkxvY2F0ZSBOSUlUaWFuHw1lZGQCAg9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQxBZGRyZXNzIEJvb2sfDWVkZAIDD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFEVByZXNlbnRhdGlvbiBCYW5rHw1lZGQCBA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBQxTdGVhbCBhIERlYWwfDWVkZAIGD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFCkJ1eSAmIFNlbGwfDWVkZAIHD2QWAmYPZBYEAgEPDxYEHwwFHX4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nHw0FIENsaWNrIHRvIGFkZCBpbnRvIEZhdm9yaXRlcyBsaXN0FgQfDgUwdGhpcy5zcmM9ICcuLi9JbWFnZXMvSG9tZVBhZ2UvRGltU3RhckhvdmVyLnBuZyc7Hw8FK3RoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXIucG5nJztkAgMPDxYEHwQFEVFNUyBDZXJ0aWZpY2F0aW9uHw1lZGQCCA9kFgJmD2QWBAIBDw8WBB8MBR1+L0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZx8NBSBDbGljayB0byBhZGQgaW50byBGYXZvcml0ZXMgbGlzdBYEHw4FMHRoaXMuc3JjPSAnLi4vSW1hZ2VzL0hvbWVQYWdlL0RpbVN0YXJIb3Zlci5wbmcnOx8PBSt0aGlzLnNyYz0gJy4uL0ltYWdlcy9Ib21lUGFnZS9EaW1TdGFyLnBuZyc7ZAIDDw8WBB8EBSNCdXkgTW9yZSAmIFNwZW5kIExlc3Mgd2l0aCBLaG9qZ3VydR8NZWRkAh0PZBYCZg9kFgQCAQ9kFhQCAg9kFgJmD2QWBgIDDw8WAh8EBRZOVEwgQW5udWFsIERheSBATXVtYmFpZGQCBw8PFgIfBGVkZAIJD2QWAgIBD2QWAmYPZBYCAgMPDxYEHwQFFk5UTCBBbm51YWwgRGF5IEBNdW1iYWkfDQUWTlRMIEFubnVhbCBEYXkgQE11bWJhaWRkAgQPZBYCZg9kFgYCAw8PFgIfBAUVRGl3YWxpIEV2ZW50IEBUYXBhc3lhZGQCBw8PFgIfBGVkZAIJD2QWAgIBD2QWAmYPZBYCAgMPDxYEHwQFFURpd2FsaSBFdmVudCBAVGFwYXN5YR8NBRVEaXdhbGkgRXZlbnQgQFRhcGFzeWFkZAIGD2QWAmYPZBYGAgMPDxYCHwQFVE5JSVQgVGVjaG5vbG9naWVzIHJhbmtlZCBOby4gNiBpbiB0aGUgIERhdGFxdWVzdCAtIENNUiBCZXN0IElUIEVtcGxveWVycyBTdXJ2ZXkgMjAxMmRkAgcPDxYCHwRlZGQCCQ9kFgICAQ9kFgJmD2QWAgIDDw8WBB8EBVROSUlUIFRlY2hub2xvZ2llcyByYW5rZWQgTm8uIDYgaW4gdGhlICBEYXRhcXVlc3QgLSBDTVIgQmVzdCBJVCBFbXBsb3llcnMgU3VydmV5IDIwMTIfDQVUTklJVCBUZWNobm9sb2dpZXMgcmFua2VkIE5vLiA2IGluIHRoZSAgRGF0YXF1ZXN0IC0gQ01SIEJlc3QgSVQgRW1wbG95ZXJzIFN1cnZleSAyMDEyZGQCCA9kFgJmD2QWBgIDDw8WAh8EBV1OSUlUIFRlY2hub2xvZ2llcyBMYXVuY2hlcyBDb250ZW1wb3JhcnkgSW5zdXJhbmNlIEV4cG9zdXJlIE1hbmFnZW1lbnQgUHJvZHVjdCBpbiBBc2lhLVBhY2lmaWNkZAIHDw8WAh8EZWRkAgkPZBYCAgEPZBYCZg9kFgICAw8PFgQfBAVdTklJVCBUZWNobm9sb2dpZXMgTGF1bmNoZXMgQ29udGVtcG9yYXJ5IEluc3VyYW5jZSBFeHBvc3VyZSBNYW5hZ2VtZW50IFByb2R1Y3QgaW4gQXNpYS1QYWNpZmljHw0FXU5JSVQgVGVjaG5vbG9naWVzIExhdW5jaGVzIENvbnRlbXBvcmFyeSBJbnN1cmFuY2UgRXhwb3N1cmUgTWFuYWdlbWVudCBQcm9kdWN0IGluIEFzaWEtUGFjaWZpY2RkAgoPZBYCZg9kFgYCAw8PFgIfBAUSSVNNUyBTZWN1cml0eSBUZXN0ZGQCBw8PFgIfBGVkZAIJD2QWAgIBD2QWAmYPZBYCAgMPDxYEHwQFEklTTVMgU2VjdXJpdHkgVGVzdB8NBRJJU01TIFNlY3VyaXR5IFRlc3RkZAIMD2QWAmYPZBYGAgMPDxYCHwQFHEZvcm11bGExIGV2ZW50c0AgTlRMIEd1cmdhb25kZAIHDw8WAh8EZWRkAgkPZBYCAgEPZBYCZg9kFgICAw8PFgQfBAUcRm9ybXVsYTEgZXZlbnRzQCBOVEwgR3VyZ2Fvbh8NBRxGb3JtdWxhMSBldmVudHNAIE5UTCBHdXJnYW9uZGQCDg9kFgJmD2QWBgIDDw8WAh8EBSRUYWJsZSBUZW5uaXMgVG91cm5hbWVudCBATlRMIEd1cmdhb25kZAIHDw8WAh8EZWRkAgkPZBYCAgEPZBYCZg9kFgICAw8PFgQfBAUkVGFibGUgVGVubmlzIFRvdXJuYW1lbnQgQE5UTCBHdXJnYW9uHw0FJFRhYmxlIFRlbm5pcyBUb3VybmFtZW50IEBOVEwgR3VyZ2FvbmRkAhAPZBYCZg9kFgYCAw8PFgIfBAVbTklJVCBUZWNobm9sb2dpZXMgcmVwb3J0cyAzNSUgcmV2ZW51ZSBncm93dGggYW5kIDU0JSBncm93dGggaW4gT3BlcmF0aW5nIFByb2ZpdCBmb3IgUTIgRlkxM2RkAgcPDxYCHwRlZGQCCQ9kFgICAQ9kFgJmD2QWAgIDDw8WBB8EBVtOSUlUIFRlY2hub2xvZ2llcyByZXBvcnRzIDM1JSByZXZlbnVlIGdyb3d0aCBhbmQgNTQlIGdyb3d0aCBpbiBPcGVyYXRpbmcgUHJvZml0IGZvciBRMiBGWTEzHw0FW05JSVQgVGVjaG5vbG9naWVzIHJlcG9ydHMgMzUlIHJldmVudWUgZ3Jvd3RoIGFuZCA1NCUgZ3Jvd3RoIGluIE9wZXJhdGluZyBQcm9maXQgZm9yIFEyIEZZMTNkZAISD2QWAmYPZBYGAgMPDxYCHwQFQ05JSVQgVGVjaG5vbG9naWVzIFJhbmtlZCBOby4xIGdsb2JhbGx5IGluIHRoZSAyMDEyIEFTVEQgQkVTVCBBd2FyZHNkZAIHDw8WAh8EZWRkAgkPZBYCAgEPZBYCZg9kFgICAw8PFgQfBAVDTklJVCBUZWNobm9sb2dpZXMgUmFua2VkIE5vLjEgZ2xvYmFsbHkgaW4gdGhlIDIwMTIgQVNURCBCRVNUIEF3YXJkcx8NBUNOSUlUIFRlY2hub2xvZ2llcyBSYW5rZWQgTm8uMSBnbG9iYWxseSBpbiB0aGUgMjAxMiBBU1REIEJFU1QgQXdhcmRzZGQCFA9kFgJmD2QWBgIDDw8WAh8EBVNOSUlUIFRlY2hub2xvZ2llcywgQlNGIC0gIkludHJhbmV0IFByYWhhcmkiIGJhZ3MgU2tvY2ggRGlnaXRhbCBJbmNsdXNpb24gQXdhcmQgMjAxMmRkAgcPDxYCHwRlZGQCCQ9kFgICAQ9kFgJmD2QWAgIDDw8WBB8EBVNOSUlUIFRlY2hub2xvZ2llcywgQlNGIC0gIkludHJhbmV0IFByYWhhcmkiIGJhZ3MgU2tvY2ggRGlnaXRhbCBJbmNsdXNpb24gQXdhcmQgMjAxMh8NBVNOSUlUIFRlY2hub2xvZ2llcywgQlNGIC0gIkludHJhbmV0IFByYWhhcmkiIGJhZ3MgU2tvY2ggRGlnaXRhbCBJbmNsdXNpb24gQXdhcmQgMjAxMmRkAgMPDxYEHwQFB01vcmUuLi4eB1Zpc2libGVnZGQCHw8PFgIfBAUNQUJEVUwgIE1PSFNJTmRkAiEPZBYCZg9kFgICAw8WBh8KBX5ib3JkZXItcmlnaHQ6d2hpdGUgM3B4IHNvbGlkO2JvcmRlci10b3A6d2hpdGUgM3B4IHNvbGlkO2JvcmRlci1sZWZ0OndoaXRlIDNweCBzb2xpZDtib3JkZXItYm90dG9tOndoaXRlIDNweCBzb2xpZDtjdXJzb3I6aGFuZDseA3NyYwVILi4vRW1wbG95ZWVJbWFnZS9IYW5kbGVyLmFzaHg/ZW1wY29kZT0wMDA1NzYzNiZ1aWQ9MTIvMTIvMjAxMiAxOjAxOjMyIEFNHwsFjgFuZXdXaW5kb3c9d2luZG93Lm9wZW4oJ1Rha2VNZVRvLmFzcHg/QXBwPTI0NCcsJ25ld1dpbmRvdycsJ3Jlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsc3RhdHVzPW5vLHRvb2xiYXI9bm8sJyk7bmV3V2luZG93LmZvY3VzKCk7cmV0dXJuIHRydWU7ZAIjD2QWBgIDDw8WAh8EBQxTU0RVS1RUTFNJVEFkZAIHDw8WAh8EBQ9Hci4gTm9pZGEgU0VaIDFkZAILDw8WAh8EBQ5OSVRJTiAgUkFTVE9HSWRkAiUPFgIfEGdkAicPZBYCZg9kFgICBQ8WAh8QZxYCZg9kFgICAQ8PFgQfBwUVVGFrZU1lVG8uYXNweD9BcHA9MjU4HwkFCW5ld1dpbmRvdxYCHwsFeW5ld1dpbmRvdz13aW5kb3cub3BlbignJywnbmV3V2luZG93JywncmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubywnKTtuZXdXaW5kb3cuZm9jdXMoKTtyZXR1cm4gdHJ1ZTtkAikPFgIfEGhkAisPPCsACQEADxYEHwIWAB8DAghkFhACAQ9kFgICAQ8WCh8KBQ9jdXJzb3I6cG9pbnRlcjsfEQUdLi4vSW1hZ2VzL0hvbWVQYWdlL3NraWxscy5KUEceA2FsdGQfCwWOAW5ld1dpbmRvdz13aW5kb3cub3BlbignVGFrZU1lVG8uYXNweD9BcHA9Mjc5JywnbmV3V2luZG93JywncmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubywnKTtuZXdXaW5kb3cuZm9jdXMoKTtyZXR1cm4gdHJ1ZTseBXRpdGxlBSpDbGljayBIZXJlIFRvIFZpZXcgU2tpbGxzICYgQ2VydGlmaWNhdGlvbnNkAgIPZBYCAgEPFgofCgUPY3Vyc29yOnBvaW50ZXI7HxEFHy4uL0ltYWdlcy9Ib21lUGFnZS9wcm9ncmVzcy5wbmcfEmQfCwWOAW5ld1dpbmRvdz13aW5kb3cub3BlbignVGFrZU1lVG8uYXNweD9BcHA9MTgwJywnbmV3V2luZG93JywncmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubywnKTtuZXdXaW5kb3cuZm9jdXMoKTtyZXR1cm4gdHJ1ZTsfEwUbQ2xpY2sgSGVyZSBUbyBWaWV3IFByb2dyZXNzZAIDD2QWAgIBDxYKHwoFD2N1cnNvcjpwb2ludGVyOx8RBRouLi9JbWFnZXMvSG9tZVBhZ2Uvd2luLnBuZx8SZB8LBY4BbmV3V2luZG93PXdpbmRvdy5vcGVuKCdUYWtlTWVUby5hc3B4P0FwcD0xMjEnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlOx8TBSdDbGljayBIZXJlIFRvIFZpZXcgSW50ZXJuYWwgSm9iIFBvc3RpbmdkAgQPZBYCAgEPFgofCgUPY3Vyc29yOnBvaW50ZXI7HxEFJi4uL0ltYWdlcy9Ib21lUGFnZS9IZWxwZGVzay9Bc3Npc3QucG5nHxJkHwsFjgFuZXdXaW5kb3c9d2luZG93Lm9wZW4oJ1Rha2VNZVRvLmFzcHg/QXBwPTIxNicsJ25ld1dpbmRvdycsJ3Jlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsc3RhdHVzPW5vLHRvb2xiYXI9bm8sJyk7bmV3V2luZG93LmZvY3VzKCk7cmV0dXJuIHRydWU7HxMFGUNsaWNrIEhlcmUgVG8gVmlldyBBU1NJU1RkAgUPZBYCAgEPFgofCgUPY3Vyc29yOnBvaW50ZXI7HxEFHC4uL0ltYWdlcy9Ib21lUGFnZS9pU2Vlay5naWYfEmQfCwWNAW5ld1dpbmRvdz13aW5kb3cub3BlbignVGFrZU1lVG8uYXNweD9BcHA9MTMnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlOx8TBRhDbGljayBIZXJlIFRvIFZpZXcgaVNlZWtkAgYPZBYCAgEPFgofCgUPY3Vyc29yOnBvaW50ZXI7HxEFGy4uL0ltYWdlcy9Ib21lUGFnZS9LSHViLnBuZx8SZB8LBY4BbmV3V2luZG93PXdpbmRvdy5vcGVuKCdUYWtlTWVUby5hc3B4P0FwcD0yMzQnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlOx8TBRhDbGljayBIZXJlIFRvIFZpZXcgSy1IdWJkAgcPZBYCAgEPFgofCgUPY3Vyc29yOnBvaW50ZXI7HxEFJC4uL0ltYWdlcy9Ib21lUGFnZS9jb21tdW5pY2F0aW9uLnBuZx8SZB8LBY4BbmV3V2luZG93PXdpbmRvdy5vcGVuKCdUYWtlTWVUby5hc3B4P0FwcD0yNzgnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlOx8TBSdDbGljayBIZXJlIFRvIFZpZXcgQ29tbXVuaWNhdGlvbiBDb3JuZXJkAggPZBYCAgEPFgofCgUPY3Vyc29yOnBvaW50ZXI7HxEFGy4uL0ltYWdlcy9Ib21lUGFnZS9jYXJlLmdpZh8SZB8LBY4BbmV3V2luZG93PXdpbmRvdy5vcGVuKCdUYWtlTWVUby5hc3B4P0FwcD0yMzMnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlOx8TBRdDbGljayBIZXJlIFRvIFZpZXcgQ2FyZWQCLQ8WAh8QZxYCZg9kFgICAw8PZBYEHwsFjgFuZXdXaW5kb3c9d2luZG93Lm9wZW4oJ1Rha2VNZVRvLmFzcHg/QXBwPTI3NicsJ25ld1dpbmRvdycsJ3Jlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsc3RhdHVzPW5vLHRvb2xiYXI9bm8sJyk7bmV3V2luZG93LmZvY3VzKCk7cmV0dXJuIHRydWU7HwoFD2N1cnNvcjpwb2ludGVyO2QCLw8WAh8QaGQCMQ8PFgQfBwUVVGFrZU1lVG8uYXNweD9BcHA9MTEwHwkFCW5ld1dpbmRvdxYCHwsFeW5ld1dpbmRvdz13aW5kb3cub3BlbignJywnbmV3V2luZG93JywncmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubywnKTtuZXdXaW5kb3cuZm9jdXMoKTtyZXR1cm4gdHJ1ZTtkAjMPDxYEHwcFFVRha2VNZVRvLmFzcHg/QXBwPTEyNB8JBQluZXdXaW5kb3cWAh8LBXluZXdXaW5kb3c9d2luZG93Lm9wZW4oJycsJ25ld1dpbmRvdycsJ3Jlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsc3RhdHVzPW5vLHRvb2xiYXI9bm8sJyk7bmV3V2luZG93LmZvY3VzKCk7cmV0dXJuIHRydWU7ZAI3Dw8WBB8HBRVUYWtlTWVUby5hc3B4P0FwcD0xMDkfCQUJbmV3V2luZG93FgIfCwV5bmV3V2luZG93PXdpbmRvdy5vcGVuKCcnLCduZXdXaW5kb3cnLCdyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHN0YXR1cz1ubyx0b29sYmFyPW5vLCcpO25ld1dpbmRvdy5mb2N1cygpO3JldHVybiB0cnVlO2QCOQ8PFgQfBwUVVGFrZU1lVG8uYXNweD9BcHA9MTA2HwkFCW5ld1dpbmRvdxYCHwsFeW5ld1dpbmRvdz13aW5kb3cub3BlbignJywnbmV3V2luZG93JywncmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxzdGF0dXM9bm8sdG9vbGJhcj1ubywnKTtuZXdXaW5kb3cuZm9jdXMoKTtyZXR1cm4gdHJ1ZTtkAkMPZBYCAgEPFgIfAwILFhYCAQ9kFghmDxUBB015IERhdGFkAgEPFgIfBAUBN2QCAw8WAh8EBQExZAIFDzwrAAkBAA8WBB8CFgAfAwISZBYkAgEPZBYCAgIPFQIDMTk0B015IEluZm9kAgIPZBYCAgIPFQIBMwtTYWxhcnkgU2xpcGQCAw9kFgICAg8VAgMxNTALSW5kaWEgTGVhdmVkAgQPZBYCAgIPFQIDMjg1JEFwcGxpY2F0aW9ucyAoTGVhdmUvVHJhdmVsL1ZvdWNoZXJzKWQCBQ9kFgICAg8VAgMxODYRRmxvYXRpbmcgSG9saWRheXNkAgYPZBYCAgIPFQIDMTgyH015IFZDIFRhcmdldHMgKEFwciAxMiAtIE1hciAxMylkAgcPZBYC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FgICAg8VAgMyMDARUHJlc2VudGF0aW9uIEJhbmtkAgQPZBYCAgIPFQIDMjA1DFN0ZWFsIGEgRGVhbGQCBQ9kFgICAg8VAgMyMDYKQnV5ICYgU2VsbGQCBg9kFgICAg8VAgMyNzARUU1TIENlcnRpZmljYXRpb25kAgcPZBYCAgIPFQIDMjA3I0J1eSBNb3JlICYgU3BlbmQgTGVzcyB3aXRoIEtob2pndXJ1ZBgCBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WZQUNdGFiQ3VzdG9taXplZAUtdGFiQ3VzdG9taXplZCR0YWJGYXZvcml0ZXMkY3RsMDEkaW1nQWRkUmVtb3ZlBS10YWJDdXN0b21pemVkJHRhYkZhdm9yaXRlcyRjdGwwMiRpbWdBZGRSZW1vdmUFLXRhYkN1c3RvbWl6ZWQkdGFiRmF2b3JpdGVzJGN0bDAzJGltZ0FkZFJlbW92ZQUtdGFiQ3VzdG9taXplZCR0YWJGYXZvcml0ZXMkY3RsMDQkaW1nQWRkUmVtb3ZlBS10YWJDdXN0b21pemVkJHRhYkZhdm9yaXRlcyRjdGwwNiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDAkY3RsMDEkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAwJGN0bDAyJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMCRjdGwwMyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDAkY3RsMDQkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAwJGN0bDA2JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMCRjdGwwNyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDAkY3RsMDgkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAwJGN0bDA5JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMCRjdGwxMSRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDAkY3RsMTIkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAwJGN0bDEzJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMCRjdGwxNCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDAkY3RsMTYkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAwJGN0bDE3JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMCRjdGwxOCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDAkY3RsMTkkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAwJGN0bDIxJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMCRjdGwyMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMDEkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDAyJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMSRjdGwwMyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMDQkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDA2JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMSRjdGwwNyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMDgkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDA5JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMSRjdGwxMSRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMTIkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDEzJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMSRjdGwxNCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMTYkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDE3JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMSRjdGwxOCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMTkkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDIxJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMSRjdGwyMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDEkY3RsMjMkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAxJGN0bDI0JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMiRjdGwwMSRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDIkY3RsMDIkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAyJGN0bDAzJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMiRjdGwwNCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDIkY3RsMDYkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAyJGN0bDA3JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMiRjdGwwOCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDIkY3RsMDkkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAyJGN0bDExJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMiRjdGwxMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDIkY3RsMTMkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAyJGN0bDE0JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMiRjdGwxNiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDMkY3RsMDEkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAzJGN0bDAyJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMyRjdGwwMyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDMkY3RsMDQkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAzJGN0bDA2JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMyRjdGwwNyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDMkY3RsMDgkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDAzJGN0bDA5JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwMyRjdGwxMSRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDQkY3RsMDEkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA0JGN0bDAyJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwNCRjdGwwMyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDQkY3RsMDQkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA0JGN0bDA2JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwNSRjdGwwMSRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDUkY3RsMDIkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA1JGN0bDAzJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwNSRjdGwwNCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDUkY3RsMDYkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA1JGN0bDA3JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwNSRjdGwwOCRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDUkY3RsMDkkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA2JGN0bDAxJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwNiRjdGwwMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDYkY3RsMDMkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA3JGN0bDAxJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwNyRjdGwwMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDgkY3RsMDEkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA4JGN0bDAyJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwOCRjdGwwMyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDgkY3RsMDQkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA4JGN0bDA2JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwOCRjdGwwNyRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDgkY3RsMDgkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDA5JGN0bDAxJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwwOSRjdGwwMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMDkkY3RsMDMkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDEwJGN0bDAxJGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwxMCRjdGwwMiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMTAkY3RsMDMkaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDEwJGN0bDA0JGltZ0FkZFJlbW92ZQUmdGFiQ3VzdG9taXplZCRjdGwxMCRjdGwwNiRpbWdBZGRSZW1vdmUFJnRhYkN1c3RvbWl6ZWQkY3RsMTAkY3RsMDckaW1nQWRkUmVtb3ZlBSZ0YWJDdXN0b21pemVkJGN0bDEwJGN0bDA4JGltZ0FkZFJlbW92ZQUNdGFiQ3VzdG9taXplZA8PZGZkBALpdk0qKSvOwllM1FCQCof/VmSw0ylHJp+qvjQ9Yn0="));
        nvpsFormAtten.add(new BasicNameValuePair("__SCROLLPOSITIONX", "0"));
        nvpsFormAtten.add(new BasicNameValuePair("__SCROLLPOSITIONY", "0"));
        nvpsFormAtten.add(new BasicNameValuePair("__EVENTVALIDATION", "/wEWcwLU8JCVDAKc76jnDgLqkse+AgKkpaseAuGu+pALAtrtuf0GAt7O9/wGArHs24cIArWRqdcPArWR5fsDArqBidIPAobNts0LAuvj8OMPAqrwrbYJAp3JobYJAuiRt7YJAtuZtbYJAqHoqbYJAvywn7YJAt+4nbYJArL/y7YJAqrwmcgGAp3JjcgGAuiRo8gGAtuZocgGAqHolcgGAvywi8gGAt+4icgGArL/t8gGAt6kpNIMAtH9l9IMArnRpaIHAqyqmaIHAvfyrqIHAur6rKIHArDJoaIHAouSl6IHAu6ZlaIHAsHgw6IHArnRkbQEAqyqhbQEAvfymrQEAur6mLQEArDJjbQEAouSg7QEAu6ZgbQEAsHgr7QEAs2s1uUPAsCFyuUPAovO3+UPAv7V3eUPAvCEiJcLAuPd+5YLAq6mkZcLAqGuj5cLAuf8g5cLAsLF+ZYLAqXN95YLAviTppcLAvCE9KgIAuPd56gIAq6m/agIAqGu+6gIAuf876gIAueOhJkDAtrn95gDAqWwjZkDApi4i5kDAt6GgJkDArnP9ZgDApzX85gDAu+dopkDAueO8CoCzpmZigQCwfKMigQCjLuiigQC/8KgigQCxZGVigQC/dPWhA8C8KzKhA8Cu/XfhA8Crv3dhA8C9MvShA8Cz5TIhA8CspzGhA8CheP0hA8C1KTmtgQCx/3ZtgQCksbvtgQC2/y0CwLO1agLAqLJtJwGApWiqJwGAuDqvZwGAtPyu5wGApnBsJwGAvSJppwGAteRpJwGArGSnPcOAqTrj/cOAu+zpfcOAvr92YMKAt3FyIMKAviNw4MKAuuVwYMKArHkxYMKAoyry4MKAu+0yYMKAq3ujfkMAqTO7ogEAseS980LAv+I1mICkYf18gsCua2HxA0CtNPswAOfJkD16sF8glPd1XoxrY2bJZn7YAXfNGYEMe2uJmrjTQ=="));
        nvpsFormAtten.add(new BasicNameValuePair("PopUp1$hidClientTime", ""));
        nvpsFormAtten.add(new BasicNameValuePair("PopUp1$hdTip", "../images/SecurityTip/Tip55.jpg"));
        nvpsFormAtten.add(new BasicNameValuePair("hidActiveLeft", ""));
        nvpsFormAtten.add(new BasicNameValuePair("hidActiveTab", "Favorites"));
        nvpsFormAtten.add(new BasicNameValuePair("empcode", ""));
        nvpsFormAtten.add(new BasicNameValuePair("emppassword", ""));
        nvpsFormAtten.add(new BasicNameValuePair("hidClientTime", "112-12-12 1:3:59"));
        nvpsFormAtten.add(new BasicNameValuePair("hdTip", "../images/SecurityTip/Tip17.jpg"));



        formPostAttendence.setEntity(new UrlEncodedFormEntity(nvpsFormAtten, HTTP.UTF_8));

        HttpResponse responseGetFormPostAtten = httpclient.execute(formPostAttendence);




//        System.out.println("*******************         Attendence Response *********************************** " + EntityUtils.toString(responseGetFormPostAtten.getEntity()));


        httpclient.getConnectionManager().shutdown();


    }
    //httpclient.getConnectionManager().shutdown();
    // httpclient.getConnectionManager().shutdown();
    //  ;
}
